home *** CD-ROM | disk | FTP | other *** search
/ Quick PC 61 / Quick PC 61.iso / I386 / UDDIWEB.MSI / search.aspx16 < prev    next >
Encoding:
Text File  |  2003-02-25  |  17.0 KB  |  543 lines

  1. <!-- ############################################################################ -->
  2. <!-- ## UDDI Services                                                          ## -->
  3. <!-- ## Copyright (c) Microsoft Corporation.  All rights reserved.             ## -->
  4. <!-- ############################################################################ -->
  5.  
  6. <%@ Page Language='C#' Inherits='UDDI.Web.UddiPage' %>
  7. <%@ Register TagPrefix='uddi' Namespace='UDDI.Web' Assembly='uddi.web' %>
  8. <%@ Register Tagprefix='uddi' Tagname='Header' Src='../controls/header.ascx' %>
  9. <%@ Register Tagprefix='uddi' Tagname='Footer' Src='../controls/footer.ascx' %>
  10. <%@ Register Tagprefix='uddi' Tagname='BreadCrumb' Src='../controls/breadcrumb.ascx' %>
  11. <%@ Register Tagprefix='uddi' Tagname='CategoryBagChooser' Src='../controls/categorybag.ascx' %>
  12. <%@ Register Tagprefix='uddi' Tagname='CategoryBrowser' Src='../controls/categorybrowser.ascx' %>
  13. <%@ Register Tagprefix='uddi' Tagname='IdentifierBagChooser' Src='../controls/identifierbag.ascx' %>
  14. <%@ Register Tagprefix='uddi' Tagname='TModelBagChooser' Src='../controls/tmodelbag.ascx' %>
  15. <%@ Import Namespace='System.Collections.Specialized' %>
  16. <%@ Import Namespace='System.Data' %>
  17. <%@ Import Namespace='UDDI' %>
  18. <%@ Import Namespace='UDDI.API' %>
  19. <%@ Import Namespace='UDDI.API.Business' %>
  20. <%@ Import Namespace='UDDI.API.Service' %>
  21. <%@ Import Namespace='UDDI.API.ServiceType' %>
  22. <%@ Import Namespace='UDDI.Web' %>
  23.  
  24. <script language='c#' runat='server'>
  25.     protected CacheObject cache;
  26.     protected string searchID;
  27.     protected bool frames = false;
  28.     
  29.     protected FindService findService;
  30.     protected FindBusiness findBusiness;
  31.     protected FindTModel findTModel;
  32.     
  33.     protected string reloadResults = @"
  34.         <script language='javascript'>
  35.             var results = window.parent.frames[ ""explorer"" ];
  36.             
  37.             if( null != results )
  38.             {
  39.                 results.location = ""results.aspx?frames=true&search={searchID}"";
  40.             }
  41.         <" + "/script" + ">";
  42.     
  43.     protected void Page_Init( object sender, EventArgs e )
  44.     {
  45.         frames = ( 0 == String.Compare( "true", Request[ "frames" ], true ) );
  46.  
  47.         searchID = Request[ "search" ];
  48.  
  49.         if( null == searchID )
  50.             Response.Redirect( "default.aspx" );
  51.  
  52.         reloadResults = reloadResults.Replace( "{searchID}", searchID );
  53.         
  54.         breadcrumb.AddBlurb( Localization.GetString( "HEADING_SEARCH_CRITERIA" ), null, null, null, false );
  55.         
  56.     }
  57.     
  58.     protected void Page_Load( object sender, EventArgs e )
  59.     {    
  60.         DataView taxonomies = Taxonomy.GetTaxonomies();
  61.                     
  62.         
  63.         cache = SessionCache.Get( searchID );
  64.         
  65.         if( null == cache )
  66.         {
  67.             findService = new FindService();
  68.             findService.CategoryBag = new KeyedReferenceCollection();
  69.             findService.TModelBag = new StringCollection();
  70.  
  71.             findBusiness = new FindBusiness();
  72.             findBusiness.CategoryBag = new KeyedReferenceCollection();
  73.             findBusiness.IdentifierBag = new KeyedReferenceCollection();
  74.             findBusiness.TModelBag = new StringCollection();
  75.             
  76.             findTModel = new FindTModel();
  77.             findTModel.CategoryBag = new KeyedReferenceCollection();
  78.             findTModel.IdentifierBag = new KeyedReferenceCollection();
  79.                         
  80.             cache = new CacheObject();
  81.             cache.FindService = findService;
  82.             cache.FindBusiness = findBusiness;
  83.             cache.FindTModel = findTModel;
  84.             
  85.             SessionCache.Save( searchID, cache );
  86.         }
  87.         else
  88.         {
  89.             findService = cache.FindService;
  90.             findBusiness = cache.FindBusiness;
  91.             findTModel = cache.FindTModel;                                                                
  92.         }
  93.         
  94.         serviceCategoryBag.Initialize( findService.CategoryBag, cache );
  95.         serviceTModelBag.Initialize( findService.TModelBag, cache );
  96.         
  97.         businessCategoryBag.Initialize( findBusiness.CategoryBag, cache );
  98.         businessIdentifierBag.Initialize( findBusiness.IdentifierBag, cache );
  99.         businessTModelBag.Initialize( findBusiness.TModelBag, cache );
  100.  
  101.         tModelCategoryBag.Initialize( findTModel.CategoryBag, cache );
  102.         tModelIdentifierBag.Initialize( findTModel.IdentifierBag, cache );    
  103.         
  104.         categoryBrowser.Initialize( null,cache );
  105.         
  106.     }
  107.         
  108.     protected override void OnPreRender( EventArgs e )
  109.     {
  110.         string key = categoryBrowser.TModelKey ;
  111.         string id =  categoryBrowser.TaxonomyID ;
  112.         string val =  categoryBrowser.KeyValue;
  113.         bool searchEnabled = (    null!=id && ""!=id &&
  114.                                 null!=val && ""!=val && 
  115.                                 Taxonomy.IsValidForClassification( Convert.ToInt32( id ), val ) );
  116.         bool canelable = ( null!=key && ""!=key );
  117.          
  118.         searchtModel.Enabled = searchEnabled;
  119.                                  
  120.         searchProvider.Enabled = searchEnabled;
  121.         searchService.Enabled = searchEnabled;
  122.         cancelSearch.Enabled = canelable;
  123.         base.OnPreRender( e );
  124.     }
  125.     public void FindService_OnFind( object sender, EventArgs e )
  126.     {
  127.         Page.Validate();
  128.         
  129.         if( Page.IsValid )
  130.         {
  131.             //
  132.             // Clear previous find criteria.
  133.             //
  134.             findService.BusinessKey = string.Empty;            
  135.             Clear( findService.Names );
  136.                 
  137.             if( !Utility.StringEmpty( serviceName.Text ) )
  138.             {            
  139.                 findService.Names = new NameCollection();
  140.                 findService.Names.Add( null,serviceName.Text );
  141.             }
  142.                 
  143.             cache.FindType = "find_service";            
  144.             SessionCache.Save( searchID, cache );        
  145.             
  146.             if( frames )
  147.                 Page.RegisterClientScriptBlock( "ReloadResults", reloadResults );        
  148.             else
  149.                 Response.Redirect( "results.aspx?search=" + searchID );
  150.         }
  151.     }
  152.     
  153.     public void FindBusiness_OnFind( object sender, EventArgs e )
  154.     {
  155.         Page.Validate();
  156.         
  157.         if( Page.IsValid )
  158.         {        
  159.             //
  160.             // Clear previous find criteria.
  161.             //
  162.             Clear( findBusiness.Names );            
  163.         
  164.             if( !Utility.StringEmpty( businessName.Text ) )
  165.             {
  166.                 findBusiness.Names = new NameCollection();
  167.                 findBusiness.Names.Add( null, businessName.Text );
  168.             }
  169.             
  170.             cache.FindType = "find_business";            
  171.             SessionCache.Save( searchID, cache );        
  172.             
  173.             if( frames )
  174.                 Page.RegisterClientScriptBlock( "ReloadResults", reloadResults );        
  175.             else
  176.                 Response.Redirect( "results.aspx?search=" + searchID );
  177.         }
  178.     }
  179.     
  180.     public void FindTModel_OnFind( object sender, EventArgs e )
  181.     {
  182.         Page.Validate();
  183.         
  184.         if( Page.IsValid )
  185.         {        
  186.             //
  187.             // Clear previous find criteria.
  188.             //
  189.             findTModel.Name = string.Empty;            
  190.         
  191.             if( !Utility.StringEmpty( tModelName.Text ) )
  192.                 findTModel.Name = tModelName.Text;
  193.             
  194.             cache.FindType = "find_tModel";            
  195.             SessionCache.Save( searchID, cache );        
  196.                                 
  197.             if( frames )
  198.                 Page.RegisterClientScriptBlock( "ReloadResults", reloadResults );        
  199.             else
  200.                 Response.Redirect( "results.aspx?search=" + searchID );
  201.         }
  202.     }
  203.     protected void cancelSearch_Click( object sender, EventArgs e )
  204.     {
  205.         if( frames )
  206.             Response.Write( 
  207.             ClientScripts.ReloadViewPane( Root + "/search/search.aspx?frames=true&search="+searchID) );
  208.         else
  209.             Response.Redirect( Page.Request.Url.AbsoluteUri );
  210.     }
  211.     protected void TabControl_TabChange( object sender, int oldindex, int newindex )
  212.     {
  213.         switch( newindex )
  214.         {
  215.             case 0:
  216.                 categoryBrowser.Reset();
  217.                 break;
  218.                 
  219.             case 1:
  220.                 
  221.                 findService.CategoryBag.Clear();
  222.                 serviceCategoryBag.Initialize( findService.CategoryBag, cache, true );
  223.                 break;
  224.             
  225.             case 2:
  226.                 
  227.                 
  228.                 findBusiness.CategoryBag.Clear();
  229.                 
  230.                 businessCategoryBag.Initialize( findBusiness.CategoryBag, cache, true );
  231.                 break;
  232.             
  233.             case 3:
  234.                 
  235.                 findTModel.CategoryBag.Clear();
  236.                 
  237.                 tModelCategoryBag.Initialize( findTModel.CategoryBag, cache,true );
  238.                 break;
  239.         }
  240.         SessionCache.Save( searchID, cache );    
  241.         
  242.     }
  243.     
  244.     private void Clear( IList list )
  245.     {
  246.         if( null != list )
  247.         {
  248.             list.Clear();
  249.         }
  250.     }    
  251. </script>
  252. <uddi:StyleSheetControl
  253.     Runat='server'
  254.     Default='../stylesheets/uddi.css' 
  255.     Downlevel='../stylesheets/uddidl.css' 
  256.     />
  257. <uddi:PageStyleControl 
  258.     Runat='server'
  259.     OnClientContextMenu='Document_OnContextMenu()'
  260.     Title="TITLE"
  261.     AltTitle="TITLE_ALT"
  262.     />
  263. <uddi:ClientScriptRegister
  264.     Runat='server'
  265.     Source='../client.js'
  266.     Language='javascript'
  267.     />
  268. <uddi:SecurityControl 
  269.     UserRequired='true'
  270.     Runat='server' 
  271.     />
  272. <form runat='server'>
  273.  
  274. <table width='100%' border='0' height='100%' cellpadding='0' cellspacing='0'>
  275.         <asp:PlaceHolder
  276.             Id='HeaderBag'
  277.             Runat='server'
  278.             >
  279.             <tr height='95'>
  280.                 <td>
  281.                     <!-- Header Control Here -->
  282.                     <uddi:Header
  283.                         Runat='server' 
  284.                         />
  285.                 </td>
  286.             </tr>
  287.         </asp:PlaceHolder>
  288.         <tr height='100%' valign='top'>
  289.             <td>
  290.                 <uddi:BreadCrumb 
  291.                     Id='breadcrumb' 
  292.                     Runat='server' 
  293.                     />
  294.                 <table cellpadding='10' cellspacing='0' border='0' width='100%'>
  295.                     <tr>
  296.                         <td>
  297.                             <uddi:ContentController
  298.                                 Mode = 'Public' 
  299.                                 Runat='server'
  300.                                 >
  301.                                 <uddi:UddiLabel Text='[[HELP_BLOCK_SEARCH_ALT]]' CssClass='helpBlock' Runat='server' /> 
  302.                             </uddi:ContentController>
  303.                             <uddi:ContentController
  304.                                 Mode = 'Private' 
  305.                                 Runat='server'
  306.                                 >
  307.                                 <uddi:UddiLabel Text='[[HELP_BLOCK_SEARCH]]' CssClass='helpBlock' Runat='server' />
  308.  
  309.                             </uddi:ContentController>
  310.                             
  311.                             
  312.                             <br>
  313.                             <br>
  314.                             <uddi:TabControl ID='tabs' Runat='server' OnTabChange='TabControl_TabChange'>                
  315.                                 <uddi:TabPage runat='server' name="TAB_FIND_BROWSE" >
  316.                                     <uddi:ContextualHelpControl 
  317.                                             Runat='Server'
  318.                                             Text='[[HELP_BLOCK_SEARCH_BROWSE]]'
  319.                                             HelpFile='search.context.searchbrowsecategory'
  320.                                             CssClass='tabHelpBlock'
  321.                                             />
  322.                                     
  323.                                     <br>
  324.                                     <asp:Table CellPadding='0' CellSpacing='0' Border='0' Runat='server' width='100%'>
  325.                                         <asp:TableRow CssClass='tableHeader' height='20'>
  326.                                             <asp:TableCell>  <uddi:UddiLabel Text='[[HEADING_SEARCH_BROWSECATEGORYTITLE]]' CssClass='tableHeader' Runat='server' />
  327.                                             </asp:TableCell>
  328.                                             <asp:TableCell align='center'><uddi:UddiLabel Text='[[HEADING_SEARCH_BROWSEACTIONTITLE]]' CssClass='tableHeader' Runat='server' />  
  329.                                             </asp:TableCell>
  330.                                         </asp:TableRow>
  331.                                         <asp:TableRow>
  332.                                             
  333.                                             <asp:TableCell Valign='top'>
  334.                                                     
  335.                                                     <uddi:CategoryBrowser runat='server' ID='categoryBrowser' name="categoryBrowser"/>
  336.                                             </asp:TableCell>
  337.                                             <asp:TableCell  align='right' valign='top' width='150px'>
  338.                                                 <uddi:UddiButton 
  339.                                                     ID='searchProvider' 
  340.                                                     Text='[[BUTTON_FIND_PROVIDERS]]' 
  341.                                                     Width='146' 
  342.                                                     CssClass='button' 
  343.                                                      
  344.                                                     OnClick='FindBusiness_OnFind'
  345.                                                     Enabled='false'
  346.                                                     Runat='server' /><br>
  347.                                             
  348.                                                 <uddi:UddiButton 
  349.                                                     ID='searchService' 
  350.                                                     Text='[[BUTTON_FIND_SERVICES]]' 
  351.                                                     Width='146' 
  352.                                                     CssClass='button' 
  353.                                                     OnClick='FindService_OnFind'
  354.                                                     Enabled='false'
  355.                                                     Runat='server' /><br>
  356.                                                     
  357.                                                 <uddi:UddiButton 
  358.                                                     ID='searchtModel' 
  359.                                                     Text='[[BUTTON_FIND_TMODELS]]' 
  360.                                                     Width='146' 
  361.                                                     CssClass='button' 
  362.                                                     CausesValidation='false'
  363.                                                     OnClick='FindTModel_OnFind'
  364.                                                     Enabled='false'
  365.                                                     Runat='Server' /><br>
  366.                                         
  367.                                                 <uddi:UddiButton 
  368.                                                     ID='cancelSearch'
  369.                                                     Text='[[BUTTON_CANCEL]]' 
  370.                                                     Width='146px' 
  371.                                                     CssClass='button' 
  372.                                                     CausesValidation='false' 
  373.                                                     OnClick='cancelSearch_Click'
  374.                                                     Enabled='false'
  375.                                                     Runat='Server' />
  376.                                             </asp:TableCell>
  377.                                         </asp:TableRow>
  378.                                         
  379.                                     </asp:Table>            
  380.                                 </uddi:TabPage>
  381.                                 <uddi:TabPage Name='TAB_FIND_SERVICE' Runat='server'>
  382.                                     <uddi:ContextualHelpControl 
  383.                                             Runat='Server'
  384.                                             Text='[[HELP_BLOCK_SEARCH_SERVICE]]'
  385.                                             HelpFile='search.context.searchservices'
  386.                                             CssClass='tabHelpBlock'
  387.                                             />
  388.                                 
  389.                                     <br>
  390.                                     <img src='../images/service.gif' border='0' align='absmiddle'>
  391.                                     <b><uddi:UddiLabel Text='[[TAG_SERVICE_NAME]]' CssClass='lightHeader' Runat='server' /></b><br>
  392.                                     <asp:Table CellPadding='0' CellSpacing='0' Border='0' Width='100%' Runat='server'>
  393.                                         <asp:TableRow>
  394.                                             
  395.                                             <asp:TableCell>
  396.                                                 <uddi:UddiTextBox 
  397.                                                         ID='serviceName' 
  398.                                                         MaxLength='255'
  399.                                                         Width='300px' 
  400.                                                         Columns='40' 
  401.                                                         CssClass='textBox'
  402.                                                         Focus='true'
  403.                                                         EditModeDisable='true'
  404.                                                         OnEnterKeyPressed='FindService_OnFind'                                            
  405.                                                         Runat='server'/>
  406.                                             </asp:TableCell>
  407.                                             
  408.                                             <asp:TableCell Width='170px'>
  409.                                                 <uddi:UddiButton 
  410.                                                         Text='[[BUTTON_SEARCH]]' 
  411.                                                         Width='70px' 
  412.                                                         OnClick='FindService_OnFind' 
  413.                                                         CssClass='button' 
  414.                                                         EditModeDisable='true'
  415.                                                         Runat='server' />
  416.                                             </asp:TableCell>
  417.                                         </asp:TableRow>
  418.                                     </asp:Table>
  419.                                     <br>
  420.                                     <uddi:Box Runat='server'>
  421.                                         <uddi:CategoryBagChooser ID='serviceCategoryBag' FindMode='true' Runat='Server' /><br>
  422.                                         <br>
  423.                                         <uddi:TModelBagChooser ID='serviceTModelBag' FindMode='true' Runat='server'/><br>
  424.                                     </uddi:Box>
  425.                                 </uddi:TabPage>
  426.                             
  427.                                 <uddi:TabPage Name='TAB_FIND_BUSINESS' Runat='server'>
  428.                                     <uddi:ContextualHelpControl 
  429.                                             Runat='Server'
  430.                                             Text='[[HELP_BLOCK_SEARCH_PROVIDER]]'
  431.                                             HelpFile='search.context.searchproviders'
  432.                                             CssClass='tabHelpBlock'
  433.                                             />
  434.                                 
  435.                                     
  436.                                     <br>
  437.                                     <img src='../images/business.gif' border='0' align='absmiddle'>
  438.                                     <b><uddi:UddiLabel Text='[[TAG_BUSINESS_NAME]]' CssClass='lightHeader' Runat='server' /></b><br>                    
  439.                                     <asp:Table CellPadding='0' CellSpacing='0' Border='0' Width='100%' Runat='server'>
  440.                                         <asp:TableRow>
  441.                                             <asp:TableCell>
  442.                                                 <uddi:UddiTextBox 
  443.                                                         ID='businessName' 
  444.                                                         MaxLength='255' 
  445.                                                         Width='300px' 
  446.                                                         Columns='40' 
  447.                                                         CssClass='textBox'
  448.                                                         Focus='true'
  449.                                                         EditModeDisable='true'
  450.                                                         OnEnterKeyPressed='FindBusiness_OnFind'
  451.                                                         Runat='server'/>
  452.                                             </asp:TableCell>
  453.                                             
  454.                                             <asp:TableCell Width='170px'>
  455.                                                 <uddi:UddiButton 
  456.                                                         Text='[[BUTTON_SEARCH]]' 
  457.                                                         Width='70px' 
  458.                                                         OnClick='FindBusiness_OnFind' 
  459.                                                         CssClass='button' 
  460.                                                         EditModeDisable='true'
  461.                                                         Runat='server' />
  462.                                             </asp:TableCell>
  463.                                         </asp:TableRow>
  464.                                     </asp:Table>                    
  465.                                     <br>
  466.                                     <uddi:Box Runat='server'>
  467.                                         <uddi:CategoryBagChooser ID='businessCategoryBag' FindMode='true' Runat='Server' /><br>                                                
  468.                                         <br>                                
  469.                                         <uddi:IdentifierBagChooser ID='businessIdentifierBag' FindMode='true' Runat='Server' /><br>
  470.                                         <br>
  471.                                         <uddi:TModelBagChooser ID='businessTModelBag' FindMode='true' Runat='server'/>
  472.                                     </uddi:Box>
  473.                                 </uddi:TabPage>
  474.                             
  475.                                 <uddi:TabPage Name='TAB_FIND_TMODEL' Runat='server'>
  476.                                     <uddi:ContextualHelpControl 
  477.                                             Runat='Server'
  478.                                             Text='[[HELP_BLOCK_SEARCH_TMODEL]]'
  479.                                             HelpFile='search.context.searchtmodels'
  480.                                             CssClass='tabHelpBlock'
  481.                                             />
  482.                                 
  483.                                     
  484.                                     <br>
  485.                                     
  486.                                     <img src='../images/tmodel.gif' border='0' align='absmiddle'>
  487.                                     <b><uddi:UddiLabel Text='[[TAG_TMODEL_NAME]]' CssClass='lightHeader' Runat='server' /></b><br>
  488.                                     
  489.                                     <asp:Table CellPadding='0' CellSpacing='0' Border='0' Width='100%' Runat='server'>
  490.                                         <asp:TableRow>
  491.                                             <asp:TableCell>
  492.                                                 <uddi:UddiTextBox 
  493.                                                         ID='tModelName' 
  494.                                                         MaxLength='255' 
  495.                                                         Width='300px' 
  496.                                                         Columns='40' 
  497.                                                         CssClass='textBox'
  498.                                                         Focus='true'
  499.                                                         EditModeDisable='true'
  500.                                                         OnEnterKeyPressed='FindTModel_OnFind'
  501.                                                         Runat='server'/>
  502.                                             </asp:TableCell>
  503.                                             
  504.                                             <asp:TableCell Width='170px'>
  505.                                                 <uddi:UddiButton 
  506.                                                         Text='[[BUTTON_SEARCH]]' 
  507.                                                         Width='70px' 
  508.                                                         OnClick='FindTModel_OnFind' 
  509.                                                         CssClass='button' 
  510.                                                         EditModeDisable='true'
  511.                                                         Runat='server' />
  512.                                             </asp:TableCell>
  513.                                         </asp:TableRow>
  514.                                     </asp:Table>                    
  515.                                     <br>
  516.                                     <uddi:Box Runat='server'>
  517.                                         <uddi:CategoryBagChooser ID='tModelCategoryBag' FindMode='true' Runat='Server' /><br>                                                
  518.                                         <br>                                
  519.                                         <uddi:IdentifierBagChooser ID='tModelIdentifierBag' FindMode='true' Runat='Server' /><br>
  520.                                     </uddi:Box>
  521.                                 </uddi:TabPage>
  522.                             
  523.                             </uddi:TabControl>                        
  524.                         </td>
  525.                     </tr>
  526.                 </table>
  527.             </td>
  528.         </tr>
  529.         <asp:PlaceHolder 
  530.             Id='FooterBag'
  531.             Runat='server'
  532.             >
  533.             <tr height='95'>
  534.                 <td>
  535.                     <!-- Footer Control Here -->
  536.                     <uddi:Footer
  537.                         Runat='server' 
  538.                         />
  539.                 </td>
  540.             </tr>
  541.         </asp:PlaceHolder>
  542.     </table> 
  543. </form>